package modelo;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;


public class TiendaDAO {

	public TiendaDAO() {
		super();
		
	}

	public void registrarTienda(Tienda tienda) {
		String tiraSQL = "INSERT INTO tienda "+
		 				 "(rif, nombre, direccion, horainicio, horafin) "+
		 				 "VALUES ('" + tienda.getRif() + "','"  
		 				    + tienda.getNombre() + "','"
		 				     + tienda.getDireccion() + "','" 
		 				      + tienda.getHoraInicio() + "','" 
		 				     + tienda.getHoraFin() +"')";
		System.out.println(tiraSQL);
		
		Conexion.ejecutar(tiraSQL);
	}
		
	public ArrayList<Tienda> consultarTiendas() {
		
		int cont = 0;
		ArrayList<Tienda> tiendas = new ArrayList<Tienda>();
		String tiraSQL = "SELECT * FROM tienda";
		ResultSet resultSet = Conexion.consultar(tiraSQL);		
		try {
			while (resultSet.next()) {
				String rif = resultSet.getString("RIF");
				String nombre = resultSet.getString("NOMBRE");
				String direccion = resultSet.getString("DIRECCION");
				String horaInicio = resultSet.getString("HORAINICIO");
				String horaFin = resultSet.getString("HORAFIN");
				
				Tienda tienda = new Tienda(rif, nombre, direccion, horaInicio, horaFin);
				tiendas.add(tienda);
			}
			
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return tiendas;
	}	
	
	
	public Tienda buscarTienda(String riftienda) {
		Tienda tienda = new Tienda();
		String tiraSQL = "SELECT * FROM tienda";
		ResultSet resultSet = Conexion.consultar(tiraSQL);		
		try {
			while (resultSet.next()) {
				String rif = resultSet.getString("RIF");
				
				if (rif.equals(riftienda)){
				
				String nombre = resultSet.getString("NOMBRE");
				String direccion = resultSet.getString("DIRECCION");
				String horaInicio = resultSet.getString("HORAINICIO");
				String horaFin = resultSet.getString("HORAFIN");
				
				tienda = new Tienda(rif, nombre, direccion, horaInicio, horaFin);
				return tienda;
		
				}
				
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return null;
	}	
	
	
public int numeroTiendas() {
		
		int cont = 0;
		String tiraSQL = "SELECT * FROM tienda";
		ResultSet resultSet = Conexion.consultar(tiraSQL);		
		try {
			while (resultSet.next()) {
				
				cont++;
			}
			
		} catch (SQLException e) {
			e.printStackTrace();
		}
		return cont;
	}	
	
	
public String rifTienda(String nom) {
	
	String rif = "";
	String tiraSQL = "SELECT * FROM tienda";
	ResultSet resultSet = Conexion.consultar(tiraSQL);		
	try {
		while (resultSet.next()) {
			
			String nombre = resultSet.getString("NOMBRE");
			
			if(nom.equalsIgnoreCase(nombre)){
				
			rif = resultSet.getString("rif");
				
			}
			
			
		}
		
	} catch (SQLException e) {
		e.printStackTrace();
	}
	return rif;
}


public List<String> nombreTiendas() {
	
	List<String> nomtiendas = new ArrayList<String>();
	String tiraSQL = "SELECT * FROM tienda";
	ResultSet resultSet = Conexion.consultar(tiraSQL);		
	try {
		while (resultSet.next()) {
			
			String nombre = resultSet.getString("nombre");
			
			nomtiendas.add(nombre);
		}
		
	} catch (SQLException e) {
		e.printStackTrace();
	}
	return nomtiendas;
}


public String[] rifNombreTienda() {
	
	String[] rif = new String[this.numeroTiendas()];
	int i = 0;
	String tiraSQL = "SELECT * FROM tienda";
	ResultSet resultSet = Conexion.consultar(tiraSQL);		
	try {
		while (resultSet.next()) {
			i++;
			String nombre = resultSet.getString("rif");
			nombre += "-";
			nombre = resultSet.getString("nombre");
			
			rif[i] = nombre;
			
		}
		
	} catch (SQLException e) {
		e.printStackTrace();
	}
	return rif;
}




	
}
